home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / g_man / cat3 / OpenGL / glcopyteximage2dext.z / glcopyteximage2dext
Encoding:
Text File  |  2002-10-03  |  20.5 KB  |  268 lines

  1.  
  2.  
  3.  
  4. ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))        OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee        ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT - copy pixels into a 2D texture image
  10.  
  11.  
  12. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  13.      void ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT( GLenum _t_a_r_g_e_t,
  14.                                GLint _l_e_v_e_l,
  15.                                GLenum _i_n_t_e_r_n_a_l_f_o_r_m_a_t,
  16.                                GLint _x,
  17.                                GLint _y,
  18.                                GLsizei _w_i_d_t_h,
  19.                                GLsizei _h_e_i_g_h_t,
  20.                                GLint _b_o_r_d_e_r )
  21.  
  22.  
  23. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  24.      _t_a_r_g_e_t          The target texture.  Must be GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD or
  25.                      GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD____SSSSGGGGIIIISSSS.
  26.  
  27.      _l_e_v_e_l           The level-of-detail number.  Level 0 is the base image
  28.                      level.  Level _n is the _nth mipmap reduction image.
  29.  
  30.      _i_n_t_e_r_n_a_l_f_o_r_m_a_t  The internal storage format of the texture image.  Must
  31.                      be one of the following symbolic constants:  GGGGLLLL____AAAALLLLPPPPHHHHAAAA,
  32.                      GGGGLLLL____AAAALLLLPPPPHHHHAAAA4444____EEEEXXXXTTTT, GGGGLLLL____AAAALLLLPPPPHHHHAAAA8888____EEEEXXXXTTTT, GGGGLLLL____AAAALLLLPPPPHHHHAAAA11112222____EEEEXXXXTTTT,
  33.                      GGGGLLLL____AAAALLLLPPPPHHHHAAAA11116666____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE4444____EEEEXXXXTTTT,
  34.                      GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE8888____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE11112222____EEEEXXXXTTTT,
  35.                      GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE11116666____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA,
  36.                      GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE4444____AAAALLLLPPPPHHHHAAAA4444____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE6666____AAAALLLLPPPPHHHHAAAA2222____EEEEXXXXTTTT,
  37.                      GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE8888____AAAALLLLPPPPHHHHAAAA8888____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE11112222____AAAALLLLPPPPHHHHAAAA4444____EEEEXXXXTTTT,
  38.                      GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE11112222____AAAALLLLPPPPHHHHAAAA11112222____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE11116666____AAAALLLLPPPPHHHHAAAA11116666____EEEEXXXXTTTT,
  39.                      GGGGLLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY____EEEEXXXXTTTT, GGGGLLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY4444____EEEEXXXXTTTT, GGGGLLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY8888____EEEEXXXXTTTT,
  40.                      GGGGLLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY11112222____EEEEXXXXTTTT, GGGGLLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY11116666____EEEEXXXXTTTT,
  41.                      GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT, GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT11116666____SSSSGGGGIIIIXXXX,
  42.                      GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT22224444____SSSSGGGGIIIIXXXX, GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT33332222____SSSSGGGGIIIIXXXX,
  43.                      GGGGLLLL____RRRRGGGGBBBB, GGGGLLLL____RRRRGGGGBBBB2222____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBB4444____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBB5555____EEEEXXXXTTTT,
  44.                      GGGGLLLL____RRRRGGGGBBBB8888____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBB11110000____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBB11112222____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBB11116666____EEEEXXXXTTTT,
  45.                      GGGGLLLL____RRRRGGGGBBBBAAAA, GGGGLLLL____RRRRGGGGBBBBAAAA2222____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBBAAAA4444____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBB5555____AAAA1111____EEEEXXXXTTTT,
  46.                      GGGGLLLL____RRRRGGGGBBBBAAAA8888____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBB11110000____AAAA2222____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBBAAAA11112222____EEEEXXXXTTTT,
  47.                      GGGGLLLL____RRRRGGGGBBBBAAAA11116666____EEEEXXXXTTTT.  (Note that the values 1, 2, 3, and 4,
  48.                      which are accepted by ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD, are not accepted by
  49.                      ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT.)
  50.  
  51.      _x               The x coordinate of the lower-left corner of the pixel
  52.                      rectangle to be transferred to the texture array.
  53.  
  54.      _y               The y coordinate of the lower-left corner of the pixel
  55.                      rectangle to be transferred to the texture array.
  56.  
  57.      _w_i_d_t_h           The width of the texture image.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))        OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee        ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      _h_e_i_g_h_t          The height of the texture image.
  75.  
  76.      _b_o_r_d_e_r          The border width of the texture.  Must be 0 or 1.
  77.  
  78. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  79.      ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT defines a two-dimensional texture image with pixels
  80.      from the current GGGGLLLL____RRRREEEEAAAADDDD____BBBBUUUUFFFFFFFFEEEERRRR (rather than from main memory, as is the
  81.      case for ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD).
  82.  
  83.      The screen-aligned pixel rectangle with lower-left corner at (_x, _y)
  84.      having width _w_i_d_t_h+2*_b_o_r_d_e_r and height _h_e_i_g_h_t+2*_b_o_r_d_e_r is used to define
  85.      the texture array at the mipmap level specified by _l_e_v_e_l.  (But see the
  86.      discussion of GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX below.)  The internal format of the
  87.      texture array is selected by _i_n_t_e_r_n_a_l_f_o_r_m_a_t.
  88.  
  89.      The pixels in the rectangle are processed exactly as if ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss had
  90.      been called, but the process stops just before final conversion.  At this
  91.      point all pixel component values are clamped to the range [0, 1] and then
  92.      converted to the texture's internal format for storage in the texel
  93.      array.
  94.  
  95.      Pixel ordering is such that lower x screen coordinates correspond to
  96.      lower i texture coordinates, and lower y screen coordinates correspond to
  97.      lower j texture coordinates.
  98.  
  99.      If any of the pixels within the specified rectangle of the current
  100.      GGGGLLLL____RRRREEEEAAAADDDD____BBBBUUUUFFFFFFFFEEEERRRR are outside the window associated with the current
  101.      rendering context, then the values obtained for those pixels are
  102.      undefined.
  103.  
  104.      When GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____RRRREEEEAAAADDDD____IIIINNNNGGGGRRRR is enabled, every other row of the source
  105.      pixel rectangle is read.  The height of the source pixel rectangle is
  106.      equivalent to 2xheight.  Only rows (y+0,y+2,...) of the source rectangle
  107.      are used to define the rows of the texture image that are affected by the
  108.      copy.
  109.  
  110.      When GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is enabled, source pixels define every other row
  111.      of the texture image, rather than successive rows of the texture image.
  112.      Rows (0,2,4,...)  of the texture image are defined, while rows
  113.      (1,3,5,...) are left undefined.  Note, that when GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is
  114.      enabled the total height (i.e., the height of interior texture image plus
  115.      twice the border) of the defined texture is 2xheight.
  116.  
  117.      If _i_n_t_e_r_n_a_l_f_o_r_m_a_t is one of GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT,
  118.      GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT11116666____SSSSGGGGIIIIXXXX, GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT22224444____SSSSGGGGIIIIXXXX, or
  119.      GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT33332222____SSSSGGGGIIIIXXXX, the pixel values will be read from the depth
  120.      buffer instead of the current GGGGLLLL____RRRREEEEAAAADDDD____BBBBUUUUFFFFFFFFEEEERRRR.
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))        OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee        ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))
  137.  
  138.  
  139.  
  140. NOTES
  141.      ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT is part of the EEEEXXXXTTTT____ccccooooppppyyyy____tttteeeexxxxttttuuuurrrreeee extension.  See
  142.      ggggllllIIIInnnnttttrrrroooo for more information about using extensions.
  143.  
  144. EEEERRRRRRRROOOORRRRSSSS
  145.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated when _t_a_r_g_e_t is not one of the allowable
  146.      values.
  147.  
  148.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _l_e_v_e_l is less than zero or greater than
  149.      log (_m_a_x), where _m_a_x is the returned value of GGGGLLLL____MMMMAAAAXXXX____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSIIIIZZZZEEEE.
  150.         2
  151.  
  152.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if the specified image is too large.
  153.  
  154.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _w_i_d_t_h or _h_e_i_g_h_t is less than zero,
  155.      greater than 2+GGGGLLLL____MMMMAAAAXXXX____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSIIIIZZZZEEEE, when _w_i_d_t_h cannot be represented as
  156.       k
  157.      2 +2border for some integer k, or when _h_e_i_g_h_t cannot be represented as
  158.       k
  159.      2 +Ixborder, where I is 2 when GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is disabled and 1
  160.      otherwise.
  161.  
  162.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _b_o_r_d_e_r is not 0 or 1.
  163.  
  164.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _i_n_t_e_r_n_a_l_f_o_r_m_a_t is not one of the
  165.      allowable values.
  166.  
  167.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT is executed
  168.      between the execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of
  169.      ggggllllEEEEnnnndddd.
  170.  
  171. AAAASSSSSSSSOOOOCCCCIIIIAAAATTTTEEEEDDDD GGGGEEEETTTTSSSS
  172.      ggggllllGGGGeeeettttTTTTeeeexxxxIIIImmmmaaaaggggeeee
  173.  
  174.  
  175. MMMMAAAACCCCHHHHIIIINNNNEEEE DDDDEEEEPPPPEEEENNNNDDDDEEEENNNNCCCCIIIIEEEESSSS
  176.      RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems do not support color
  177.      matrix transformations on images as they are loaded to or read back from
  178.      texture memory.
  179.  
  180.      RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems support ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD
  181.      and ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT with the following restrictions:
  182.  
  183.           1.  Only level 0 is supported; other levels result in a
  184.               GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE error.
  185.  
  186.           2.  ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD and ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT cannot be used if a GLX
  187.               video source is the current read drawable (see
  188.               ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII).  Executing it will generate a
  189.               GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN error.
  190.  
  191.           3.  GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is not supported (see ggggllllEEEEnnnnaaaabbbblllleeee).
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.                                                                         PPPPaaaaggggeeee 3333
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205. ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))        OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee        ggggllllCCCCooooppppyyyyTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT((((3333GGGG))))
  206.  
  207.  
  208.  
  209.           4.  Borders are not supported; hence the width of the border should
  210.               be 0.
  211.  
  212.      On IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems, there is a performance benefit when the width
  213.      of the image to be transferred to texture memory is a multiple of 8.
  214.  
  215.      Texture borders are not supported on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems.
  216.      Applications should use borderless textures and GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____EEEEDDDDGGGGEEEE____SSSSGGGGIIIISSSS
  217.      wrap mode.
  218.  
  219.      The SSSSGGGGIIIIXXXX____iiiinnnntttteeeerrrrllllaaaacccceeee extension is supported only on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy
  220.      systems, on RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems, on OOOOccccttttaaaannnneeee2222
  221.      VVVVPPPPrrrroooo systems, and on OOOO2222 systems.
  222.  
  223.      The IIIINNNNGGGGRRRR____iiiinnnntttteeeerrrrllllaaaacccceeee____rrrreeeeaaaadddd extension is supported only on OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo
  224.      systems, and on OOOO2222 systems.
  225.  
  226.  
  227. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  228.      ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD, ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT, ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss.
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.                                                                         PPPPaaaaggggeeee 4444
  265.  
  266.  
  267.  
  268.